﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр)
	///</summary>
	[DataContract]
	public enum УдалитьПричиныОтсутствияНаРаботе
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"546c0ef1-2867-434b-bdaa-0697ca918abf\", \"Представление\":\"Заболевание\"}")]
		Заболевание = 0,
		[EnumMember(Value = "{\"Ссылка\":\"1789e883-65c4-40f1-9280-12aa04c8ad41\", \"Представление\":\"Командировка\"}")]
		Командировка = 1,
		[EnumMember(Value = "{\"Ссылка\":\"6089ee23-5444-4a74-956b-6026a216d61b\", \"Представление\":\"ОтпускЕжегодный\"}")]
		ОтпускЕжегодный = 2,//Отпуск ежегодный
		[EnumMember(Value = "{\"Ссылка\":\"e5416664-9dd4-4250-9a8e-3b1d90447aff\", \"Представление\":\"ОтгулВСчетЕжегодногоОтпуска\"}")]
		ОтгулВСчетЕжегодногоОтпуска = 3,//Отгул в счет ежегодного отпуска
		[EnumMember(Value = "{\"Ссылка\":\"57bcb8f7-d15d-459f-b363-c9b1a9dd111b\", \"Представление\":\"ОтпускПрочий\"}")]
		ОтпускПрочий = 4,//Отпуск прочий
		[EnumMember(Value = "{\"Ссылка\":\"8a905a2b-34ff-43ed-88a7-1abeeb94541b\", \"Представление\":\"ОтсутствуетПоНевыясненнойПричине\"}")]
		ОтсутствуетПоНевыясненнойПричине = 5,//Отсутствует по невыясненной причине
	}
	public static partial class УдалитьПричиныОтсутствияНаРаботе_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Заболевание = new Guid("9706aabd-91ca-bf8a-434b-2867546c0ef1");
		public static readonly Guid Командировка = new Guid("aa128092-c804-41ad-40f1-65c41789e883");
		public static readonly Guid ОтпускЕжегодный = new Guid("26606b95-16a2-1bd6-4a74-54446089ee23");//Отпуск ежегодный
		public static readonly Guid ОтгулВСчетЕжегодногоОтпуска = new Guid("1d3b8e9a-4490-ff7a-4250-9dd4e5416664");//Отгул в счет ежегодного отпуска
		public static readonly Guid ОтпускПрочий = new Guid("b1c963b3-dda9-1b11-459f-d15d57bcb8f7");//Отпуск прочий
		public static readonly Guid ОтсутствуетПоНевыясненнойПричине = new Guid("be1aa788-94eb-1b54-43ed-34ff8a905a2b");//Отсутствует по невыясненной причине
		public static УдалитьПричиныОтсутствияНаРаботе Получить(this УдалитьПричиныОтсутствияНаРаботе Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static УдалитьПричиныОтсутствияНаРаботе Получить(this УдалитьПричиныОтсутствияНаРаботе Значение, Guid Ссылка)
		{
			if(Ссылка == Заболевание)
			{
				return УдалитьПричиныОтсутствияНаРаботе.Заболевание;
			}
			else if(Ссылка == Командировка)
			{
				return УдалитьПричиныОтсутствияНаРаботе.Командировка;
			}
			else if(Ссылка == ОтпускЕжегодный)
			{
				return УдалитьПричиныОтсутствияНаРаботе.ОтпускЕжегодный;
			}
			else if(Ссылка == ОтгулВСчетЕжегодногоОтпуска)
			{
				return УдалитьПричиныОтсутствияНаРаботе.ОтгулВСчетЕжегодногоОтпуска;
			}
			else if(Ссылка == ОтпускПрочий)
			{
				return УдалитьПричиныОтсутствияНаРаботе.ОтпускПрочий;
			}
			else if(Ссылка == ОтсутствуетПоНевыясненнойПричине)
			{
				return УдалитьПричиныОтсутствияНаРаботе.ОтсутствуетПоНевыясненнойПричине;
			}
			return УдалитьПричиныОтсутствияНаРаботе.ПустаяСсылка;
		}
		public static byte[] Ключ(this УдалитьПричиныОтсутствияНаРаботе Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this УдалитьПричиныОтсутствияНаРаботе Значение)
		{
			switch (Значение)
			{
				case УдалитьПричиныОтсутствияНаРаботе.Заболевание: return Заболевание;
				case УдалитьПричиныОтсутствияНаРаботе.Командировка: return Командировка;
				case УдалитьПричиныОтсутствияНаРаботе.ОтпускЕжегодный: return ОтпускЕжегодный;
				case УдалитьПричиныОтсутствияНаРаботе.ОтгулВСчетЕжегодногоОтпуска: return ОтгулВСчетЕжегодногоОтпуска;
				case УдалитьПричиныОтсутствияНаРаботе.ОтпускПрочий: return ОтпускПрочий;
				case УдалитьПричиныОтсутствияНаРаботе.ОтсутствуетПоНевыясненнойПричине: return ОтсутствуетПоНевыясненнойПричине;
			}
			return Guid.Empty;
		}
	}
}